                        Borland Pascal 7.0
                       DPMI-Dienstprogramme
                       ====================

Diese Datei beschreibt die Programme RTM.EXE, RTMRES.EXE, DPMI16BI.OVL,
DPMIINST.EXE und DPMILOAD.EXE. Sie drfen diese Programme unter denselben
Lizenzbedingungen weitergeben, die fr Borland Pascal 7.0 gelten. Stellen
Sie den Anwendern Ihrer Programme auch die in dieser Datei enthaltenen
Informationen zur Verfgung.

Es werden folgende Themen behandelt:

  o Das Ausfhren eines DOS-Protected-Mode-Programms

  o Was Sie tun knnen, wenn der DPMI-Server von Borland auf Ihrem System
    nicht luft

  o Wie Sie DOS-Umgebungsvariablen fr die mit Borland Pascal 7.0
    erzeugten Programme setzen

  o Besonderheiten bei der Ausfhrung unter Windows

  o Wie Sie die Speicherbelegung durch den DPMI-Lader steuern knnen

  o Ein Hinweis fr Anwender von Borland C++ und Paradox 4.0


================================================
Das Ausfhren eines DOS-Protected-Mode-Programms
================================================

Wenn Sie ein Protected-Mode-Programm starten, mssen Sie sicherstellen,
da sich DPMI16BI.OVL (der DPMI-Server), RTM.EXE (der DPMI-Lader)
und alle von der Anwendung bentigten DLLs an einem der folgenden Orte
befinden:

  - im aktuellen Verzeichnis
  - im selben Verzeichnis wie die Anwendung
  - im Suchpfad.


Protected Mode und Speicher
---------------------------

DPMI (fr DOS Protected Mode Interface) ermglicht es einem DOS-
Programm, im Protected Mode zu laufen und dadurch auf den gesamten
Arbeitsspeicher Ihres Computers zuzugreifen. Von einigen Ausnahme-
fllen abgesehen, ist diese Technik vollkommen transparent und es
sind keine besonderen Manahmen ntig, um ein Programm im Protected
Mode auszufhren.


DPMIINST

Ein solcher Ausnahmefall kann auftreten, wenn Sie ein Protected-
Mode-Programm das erste Mal auf einem Rechner mit 80286-Prozessor
ausfhren. Zur Konfiguration der Protected-Mode-Schnittstelle wird
eine interne Datenbank mit verschiedenen Rechner-Charakteristika
verwendet. Aufgrund dieser Informationen wird entschieden, wie der
Protected Mode auf Ihrem Rechner aktiviert werden kann. Wenn Sie einen
Rechner mit einem lteren 80286 haben, kann es vorkommen, da dieser
nicht erkannt wird. In diesem Fall sehen Sie bei Start des Protected-
Mode-Programms die folgende Meldung:

  Machine not in database (RUN DPMIINST)

Falls Sie diese Meldung erhalten, dann lassen Sie einfach DPMIINST
laufen. Tippen Sie an der DOS-Eingabeaufforderung DPMIINST ein und
folgen Sie den Instruktionen des Programms.

DPMIINST unterzieht Ihren Rechner einer Reihe von Tests, um zu
ermitteln, wie der Protected Mode am besten aktiviert werden kann,
und konfiguriert die DPMI-Schnittstelle entsprechend. Sie mssen
dieses Programm nur ein einziges Mal ausfhren.

Einige Speicherverwaltungsprogramme, Gertetreiber und speicher-
residente Programme knnen unter Umstnden verhindern, da DPMIINST
die ntigen Tests durchfhrt. Entfernen Sie vorbergehend alle
derartigen Programme, wenn DPMIINST nicht korrekt abluft, oder
schalten Sie sie ab, so da DPMIINST den uneingeschrnkten Zugriff
auf Ihr System erhlt.

Beachten Sie, da DPMIINST weder auf einem Rechner, auf dem HIMEM
(oder ein quivalentes Programm) luft, noch auf einem Rechner mit
80386- oder 80486-Prozessor je bentigt wird.


DPMIMEM

Per Vorgabe belegt die DPMI-Schnittstelle alles verfgbare Extended
Memory. Wenn Sie das verhindern mchten, knnen Sie eine DOS-Umge-
bungsvariable definieren, die eine Obergrenze fr den verwendeten
Speicher festlegt. Diese Definition knnen Sie entweder an der DOS-
Eingabeaufforderung oder in die Datei AUTOEXEC.BAT eingeben. Die
Syntax lautet:

  SET DPMIMEM=MAXMEM nnnn

wobei nnnn fr die Speichergre in Kilobyte steht.

Falls beispielsweise Ihr Rechner 4 MB hat und DPMI nur 2 MB ver-
wenden soll, knnen Sie die Umgebungsvariable DPMIMEM wie folgt
definieren:

  SET DPMIMEM=MAXMEM 2048

Einige Speicherverwaltungsprogramme wie QEMM oder 386^Max knnen ein und
denselben Speicherbereich wahlweise als Expanded oder Extended Memory
reservieren. Viele ltere Programme knnen nur Expanded Memory (EMS)
nutzen. Mit der Umgebungsvariablen DPMIMEM knnen Sie erreichen, da
nur ein Teil des Extended Memory fr DPMI genutzt wird, so da diesen
lteren Programm weiterhin EMS-Speicher zur Verfgung steht.


RTMRES

RTMRES ldt das DPMI-System vorab. Wenn Sie das tun, startet ein
Protected-Mode-Programm etwas rascher. Wenn Sie beim Aufruf ein
Programm mit angeben, wird es geladen. Ansonsten ldt RTMRES eine
DOS-Shell, die Sie wie blich mit EXIT beenden knnen.

RTMRES ist dann besonders von Nutzen, wenn Sie ein Protected-Mode-
Programm immer wieder starten und beenden. Normalerweise wrde bei
jedem Start der DPMI-Server geladen, was Sie sich ersparen knnen,
wenn Sie ihn mit RTMRES resident machen.


EXTENDED MEMORY

Die Kommunikation eines Protected-Mode-Programms mit dem  DPMI-
Server geschieht ber den DPMI-Lader RTM.EXE. Per Vorgabe
benutzt ein Protected-Mode-Programm allen vom DPMI-Kernel reser-
vierten Speicher.


===================================================
Ein Protected-Mode-Programm unter Windows ausfhren
===================================================

Ein DOS-Protected-Mode-Programm luft unter dem erweiterten
386er-Modus von Windows. Mit Hilfe einer PIF-Datei knnen Sie fest-
legen, wieviel Speicher dem Programm zur Verfgung gestellt wird.
Was eine PIF-Datei ist und wie Sie eine anlegen, erfahren Sie im
Benutzerhandbuch zu Microsoft Windows.


Ein Protected-Mode-Programm im Windows-Standardmodus ausfhren
--------------------------------------------------------------

Wenn Sie ein Protected-Mode-Programm im Windows-Standardmodus aus-
fhren wollen, mssen Sie die DOS-Umgebungsvariable DPMIMEM
definieren und RTMRES starten, bevor Sie Windows starten. Beides
ist weiter oben beschrieben. Lassen Sie bei der Definition von DPMIMEM
gengend Speicher fr Windows brig.

Sobald Sie DPMIMEM geladen haben, knnen Sie Windows nicht mehr im
erweiterten 386er-Modus ausfhren. Sie mssen RTMRES erst wieder
verlassen (tippen Sie dazu an der DOS-Eingabeaufforderung EXIT ein).


Die DOS-Eingabeaufforderung von Windows
---------------------------------------

Um ein DOS-Protected-Mode-Programm von der DOS-Eingabeaufforderung
unter Windows zu starten, mssen Sie die Datei DOSPRMPT.PIF in Ihrem
Windows-Verzeichnis bearbeiten. Andernfalls kann das Protected-Mode-
Programm kein Extended Memory nutzen.

Starten Sie den PIF-Editor von Windows, ffnen Sie die Datei
DOSPRMPT.PIF und geben Sie darin an, wieviel Extended Memory das
Protected-Mode-Programm benutzen soll. Wenn Sie mit dem PIF-Editor
nicht vertraut sind, knnen Sie Einzelheiten im Benutzerhandbuch zu
Microsoft Windows nachlesen.


================================================================
Wie Sie die Speicherbelegung durch den DPMI-Lader steuern knnen
================================================================

Der DPMI-Lader versucht, mglichst viel konventionellen Speicher
zur Verfgung zu stellen, bevor er eine Anwendung ldt (er lagert
nach Mgichkeit Speicherblcke ins Extended Memory aus). Er versucht
hingegen nicht, Extended Memory freizugeben. Falls Sie andere
Protected-Mode-Programme benutzen wollen, die den DPMI-Lader
nicht verwenden (beispielsweise Paradox 4.0), so knnen Sie die
Speicherbelegung mit Hilfe der DOS-Umgebungsvariablen RTM steuern.

Mit Hilfe des SET-Befehls knnen Sie die Umgebungsvariable RTM in der
DOS- Kommandozeile definieren. Es gilt folgende Syntax:

  SET RTM=[Option nnnn]

Die folgende Tabelle listet die verfgbaren Optionen auf. nnnn kann
eine dezimale oder hexadezimale Zahl sein, letztere im Format xAB54
oder xab54.

   Option          Beschreibung
   -------------------------------------------------------------
   EXTLEAVE nnnn   Es werden stets nnnn Kilobyte Extended Memory
                   freigelassen. Der Vorgabewert ist 640 KB.

   EXTMAX nnnn     Es werden nicht mehr als nnnn Kilobyte Extended
                   Memory reserviert. Der Vorgabewert ist 4
                   Gigabyte bzw., unter Windows, die Hlfte des
                   verfgbaren Speichers.

   EXTMIN nnnn     Wenn unter Bercksichtigung der Angaben zu EXTMAX
                   und EXTLEAVE weniger als nnnn Kilobyte Speicher
                   zur Verfgung stehen, wird das Programm beendet
                   und die Meldung "Out of Memory" ausgegeben. Der
                   Vorgabewert ist Null.

   REALLEAVE nnnn  Es werden stets mindestens nnnn Paragraphen an
                   DOS-Speicher freigelassen. Der Vorgabewert ist
                   4096 Paragraphen, was 64 KB entspricht.

   REALMAX nnnn    Es werden nicht mehr als nnnn Paragraphen an DOS-
                   Speicher reserviert. Der Vorgabewert ist 1 MB bzw.
                   65535 Paragraphen.

   REALMIN nnnn    Wenn unter Bercksichtigung der Angaben zu REALMAX
                   und REALLEAVE weniger als nnnn Kilobyte Speicher
                   zur Verfgung stehen, wird das Programm beendet
                   und die Meldung "Out of Memory" ausgegeben. Der
                   Vorgabewert ist Null.

Mit dem folgenden Befehl reserviert RTM maximal 2 MB Extended Memory
und es werden 128 KB DOS-Speicher freigelassen.

  SET RTM=EXTMAX 2048 REALLEAVE 8192


======================================================================
Ein wichtiger Hinweis fr die Anwender von Borland C++ und Paradox 4.0
======================================================================

Die in diesem Produkt enthaltenen Dateien DPMILOAD.EXE und DPMI16BI.OVL
ersetzen die lteren Versionen, die mit Paradox 4.0 oder BC++ 3.0 aus-
geliefert wurden. Lschen Sie diese lteren Versionen oder benennen Sie
sie um, und sorgen Sie dafr, da sich die neueren Versionen im DOS-
Suchpfad befinden. Paradox und BC++ verwenden dann die neueren Dateien.

Wenn Sie aus Paradox oder BC++ heraus vorbergehend DOS aufrufen wollen,
um ein Protected-Mode-Programm auszufhren, mssen Sie die Gre des
Extended Memory, das von Paradox bzw. BC++ benutzt wird, einschrnken.
Dazu mssen Sie beim Aufruf von Paradox die Option /extk bzw. die Option
/x bei BC++ angeben. Nheres lesen Sie bitte in den Handbchern zum
jeweiligen Produkt nach.


                      - ENDE DER DATEI -
